HTTPGetBinary - Synapse

Otázka od: Sebesta Jan

20. 9. 2004 13:28

Ahoj vsem,

Mam problem (jinak bych asi nepsal)

procedure TForm1.Button1Click(Sender: TObject);
 Var Stream:TFileStream;
begin
 Stream := TFileStream.Create('xxx', fmCreate);
 HttpGetBinary('xxx',Stream);
end;

Vysledkem je ale jiny soubor nez je na netu !!!

Original Hexa:
03 68 09 0D 07 00 00 00 01 04 17 01 00 00 00 00

Stazeny soubor:
03 68 09 0D 07 20 20 20 01 04 17 01 20 20 20 20


Poste 00 je zameneno za 20 v hexa.

Pomuze nekdo???

Jan Sebesta



Odpovedá: Lukas Gebauer

20. 9. 2004 13:54

> Vysledkem je ale jiny soubor nez je na netu !!!
> Original Hexa:
> 03 68 09 0D 07 00 00 00 01 04 17 01 00 00 00 00
> Stazeny soubor:
> 03 68 09 0D 07 20 20 20 01 04 17 01 20 20 20 20
> Poste 00 je zameneno za 20 v hexa.

Dost pochybuji o tom, ze bych v pomateni smyslu nekde v Synapsi delal
nahrazovani 0 za mezery.

Jsi si jisty, ze ti to uz takhle neposila server? (Overit nejlepe
pomoci nejakeho zachytavace packetu, treba Ethereal.)



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: Sebesta Jan

20. 9. 2004 14:20

Ahoj,

Pokud ten sami soubor stahnu na tom samem PC pres FTP (TotalCommander) tak
je vse OK. Je to soubor http://www.cube.cz/sazeni/Euro.dbf

Asi to dela Server (rozhodne nechci nejak pomluvit Synapse), ale to je pak
nad moje sily. Proto posilam odkaz. Pokud ho stahnu pres IE tak je to taky
zmenene.

Nevi nekdo co stim? Je tam ten soubor nejak "spatne" poslany. Posilam to
pres FTP (TotalCommander).

Honza

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Lukas Gebauer
Sent: Monday, September 20, 2004 2:54 PM
To: delphi-l@clexpert.cz
Subject: Re: HTTPGetBinary - Synapse

> Vysledkem je ale jiny soubor nez je na netu !!!
> Original Hexa:
> 03 68 09 0D 07 00 00 00 01 04 17 01 00 00 00 00
> Stazeny soubor:
> 03 68 09 0D 07 20 20 20 01 04 17 01 20 20 20 20
> Poste 00 je zameneno za 20 v hexa.

Dost pochybuji o tom, ze bych v pomateni smyslu nekde v Synapsi delal
nahrazovani 0 za mezery.

Jsi si jisty, ze ti to uz takhle neposila server? (Overit nejlepe
pomoci nejakeho zachytavace packetu, treba Ethereal.)



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.




Odpovedá: Lukas Gebauer

20. 9. 2004 14:36

> Asi to dela Server (rozhodne nechci nejak pomluvit Synapse), ale to je
> pak nad moje sily. Proto posilam odkaz. Pokud ho stahnu pres IE tak je
> to taky zmenene.

No, pokud to i IE stahne zmrsene, tak to opravdu se Synapsi nemuze
mit nic spolecneho.

> Nevi nekdo co stim? Je tam ten soubor nejak "spatne" poslany. Posilam
> to pres FTP (TotalCommander).

Protoze (jak sam rikas) kdyz ten soubor stahnes opet pres FTP, tak je
v poradku, tak z toho je jasne, ze poslany je dobre, ne? Evidentne
dochazi k tomu mrseni na strane HTTP serveru (software toho HTTP
serveru je z neceho zmateny...)

Kouknul jsem se na to, a je to jasne. Tvuj HTTP server totiz nezna
priponu DBF, a je zaroven tak hloupe nastaveny, ze nezname pripony
povazuje za TEXT! Svedci o tom pouzity MIME typ 'text/plain'.
(Zatimco logicke a spravne by bylo povazovat nezname pripony za
binarni soubor...) A protoze si tim padem tvuj server mysli, ze se
jedna o text, patrne zcela iniciativne data upravil tak, aby byla
skutecne textova.

Resenim je tedy bud server presvedcit o tom, ze DBF neni text
(sahnout do jeho konfigurace... ), pripadne staci zmenit ten
defaultni MIME typ pro nezname pripony, nebo na ten soubor pouzij
takovou priponu, kterou server za text nepovazuje.



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.